perm filename DESTRU.STA[TIM,LSP] blob
sn#702194 filedate 1983-02-12 generic text, type C, neo UTF8
COMMENT ā VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 Destructive operation benchmark
C00005 00003 (fasload meter)(fasload destru)
C00014 ENDMK
Cā;
;;; Destructive operation benchmark
(declare (fixsw t))
(declare (fasload meter fas dsk (tim lsp)))
(declare (setq meter:meterp t))
(meter-funs ((push "Pushes")(car "Cars")(cdr "Cdrs")
(NULL "Nulls") (rplaca "RPlacas")(rplacd "Rplacds")
(nconc "Nconc")(length "Lengths") (1- "Sub1s") (= "='s"))
(defun destructive (n m)
(let ((l (do ((i 10. (1- i))
(a () (push () a)))
((= i 0) a))))
(do ((i n (1- i)))
((= i 0))
(cond ((null (car l))
(do ((l l (cdr l)))
((null l))
(or (car l)
(rplaca l (ncons ())))
(nconc (car l)
(do ((j m (1- j))
(a () (push () a)))
((= j 0) a)))))
(t
(do ((l1 l (cdr l1))
(l2 (cdr l) (cdr l2)))
((null l2))
(rplacd (do ((j (// (length (car l2)) 2) (1- j))
(a (car l2) (cdr a)))
((= j 0) a)
(rplaca a i))
(let ((n (// (length (car l1)) 2)))
(cond ((= n 0) (rplaca l1 ())
(car l1))
(t
(do ((j n (1- j))
(a (car l1) (cdr a)))
((= j 1)
(prog1 (cdr a)
(rplacd a ())))
(rplaca a i)))))))))))))
(include "timer.lsp")
(timer timit (destructive 600. 50.))
(fasload meter)(fasload destru)
(timit)
Timing performed on Saturday 02/12/83 at 16:50:32.
Cpu (- GC) Time = 4.673
Elapsed Time = 32.0
Wholine Time = 18.7333333
GC Time = 5.231
Load Average Before = 0.92353368
Load Average After = 1.1189996
Average Load Average = 1.02126664
NIL
(meter:report)
Statistics
Meter for: DESTRUCTIVE
Sub1s = 127980 (23.5%)
Pushes = 43010 (7.89%)
='s = 142635 (26.19%)
Nulls = 6686 (1.22%)
Cars = 20824 (3.82%)
Cdrs = 99537 (18.28%)
RPlacas = 84550 (15.52%)
Nconc = 860 (0.15%)
Rplacds = 9167 (1.68%)
Lengths = 9252 (1.69%)
Total = 544501
T